/**
 * FileName: 接口
 * Created Date: 2022-10-16 11:04:24
 * Author: 文初阳
 * -----
 * Last Modified: 2022-10-16 11:04:24
 * Modified By: 文初阳
 */

// 简历编辑请求
export interface IEditResumeRequest {
    name: string; // 简历名称
    content: IResumeContent; // 简历内容
}

// 简历列表查询请求
export interface IQueryResumeListRequest {
    id?: string; // 简历id
    name?: string; // 简历名称(模糊匹配)
    content?: IResumeContent; // 简历内容（全文搜索）
    page?: string; // 当前页码
    limit?: string; // 每页记录数
    beginDate?: string; // 在beginDate之后创建的简历
    endDate?: string; // 在endDate之前创建的简历
    sortName?: string; // 排序字段，比如 create_time
    sortOrder?: 'asc' | 'desc'; // 正序 asc 倒序desc
}

// 简历列表查询响应
export interface IQueryResumeListResponse {
    id: string;
    adminId: string;
    name: string;
    content: IResumeContent;
    createTime: string;
    updateTime: string;
}

// 简历列表前端数据类型
export interface IResumeListItem {
    resumeName: string;
    name: string;
    job: string;
    updateTime: string;
}

// content信息
interface IResumeContent {
    baseInfo: IBaseInfoItem[];
    personalSkills: IPersonalSkillsItem[];
    workExperiences: IWorkExperiencesItem[];
    projectExperiences: IProjectExperiencesItem[];
    educationExperiences: IEducationExperiencesItem[];
}

// 基本信息
interface IBaseInfoItem {
    name: string; // 姓名
    summary: string; // 一句话简介
    job: string; // 求职岗位
    aboutMe: IAboutMeItem[]; // 关于自己
    knowMe: IAboutItem[]; // 社交平台
    contactMe: IAboutItem[]; // 联系方式
}
interface IAboutMeItem {
    value: string; // 内容
}
interface IAboutItem extends IAboutMeItem {
    label: string; // 名称
}
// 技能信息
interface IPersonalSkillsItem {
    title: string; // 标题
    content: string; // 内容
}
// 工作经历
interface IWorkExperiencesItem {
    startTime: string; // 开始时间
    endTime: string; // 结束时间
    company: string; // 公司
    position: string; // 职位
    duty: IDutyItem[]; // 工作内容
}
// 工作内容
interface IDutyItem {
    title: string; // 主标题
    subTitle: string; // 副标题
    detail: IAboutItem[]; // 细节
}
// 项目经历
interface IProjectExperiencesItem {
    title: string; // 标题
    summary: string; // 简要描述
    detail: IAboutItem[]; // 细节描述
    image: string; // 图片地址
}
// 教育信息
interface IEducationExperiencesItem {
    startTime: string; // 起始时间
    endTime: string; // 终止时间
    major: string; // 专业信息
    school: string; // 学校信息
    content: string[]; // 描述信息
}
